I. Field of the Invention
The present invention relates generally to controllers utilizing neural networks.
II. Description of Related Art
The neural networks of the type used by a controller to control the operation of a plant, or a system to be controlled in a closed-loop fashion (via feedback), include an input layer, a hidden layer and an output layer. Each of these layers performs a different function.
The input layer receives one or more control signals representative of the desired operation of the plant. The input layer, however, does not process these inputs.
The output layer, conversely, provides one or more output signals to the plant which control the operation of the plant towards a target value. The output layer includes at least one control output coupled to the plant, but optionally may include multiple outputs coupled to the plant.
The hidden layer performs the processing of the signals in order to provide the desired output signals from the output layer in response to the signals from the input layer. The hidden layer includes a plurality of nodes which are interconnected by a set of weights. These weights determine how much relative effect an input value has on the output from each node in the hidden layer. Each node, furthermore, implements some mathematical activation function that is a nonlinear function of the weighted sum of the inputs to that node.
While some neural networks are feed-forward neural networks which provide no feedback within the hidden layer, other neural networks include at least one feedback signal between the nodes in the hidden layer, or between the network outputs and its inputs. Such neural networks with feedback signals are known as recurrent neural networks. This feedback constitutes the short-term memory of the recurrent neural network.
In order to establish the weights between the node interconnections, the previously known neural networks have utilized a training method to set the weights on the node interconnects. Such training methods in these previously known controllers which utilize neural networks necessarily change the weights between the node interconnections during the training period. As such, the original setting for the weights between the node interconnections is lost after the training.
The initial setting of the weights between the nodes typically occurs in off-line training oftentimes using computer simulations. Such offline training enables the controller designer to subject the controller to a wide variety of different operating conditions of the plant. Thus, when properly designed (usually trained), the initial weights of the node interconnections determined through such off-line training result in a robust controller capable of operating well under a wide variety of different operating conditions. Thus, the weights form long-term memory of the controller.
Such off-line training, however, provides a set of weights for the node interconnections that are good on the average for the closed-loop system and which represent the robustness of the controller. However, since all plants differ somewhat from each other, for example, due to environmental variations, it is desirable to provide some adaptivity for the controller in order to optimize the controller operation. Previously, such adaptivity has been accomplished by varying the weights between the node interconnections in an attempt to achieve optimum system performance. Such adjustment of the weights, furthermore, occurs during real-time or on-line training of the controller, i.e. use of the controller with the actual plant that is controlled
A primary disadvantage of adjusting the weights of the node interconnection during on-line training, however, is that the value of the weights initially set by the system during off-line training is lost. This is equivalent to corrupting the controller long-term memory. Such variation of the weight of the node interconnection, furthermore, may adversely affect the robustness of the system and result in worsening of the controller performance or, in the extreme case, a complete loss of controller functionality.